/*
 es6扩展了一个异步编程的函数,Promise
 异步：fun() ->只需要调用，无需等待这个函数执行完成再去执行下一步操作
 同步：fun() ->等待方法全部执行完才可以进行下一步操作，按顺序执行
 resolve:意思就是说，我们执行成功后，可以通过这个resolve函数去返回执行后的正确结果
 reject:我们运行异步错误的时候，可以通过reject去抛出错误结果
 */

 let promise = new Promise(function(resolve,reject){
    let a = 10
    if(a===11){
        //调用数据库
        setTimeout(function(){
            resolve(a)
        },2000)
    }else{
        reject("执行失败")
    }
 })
 promise.then(function(value){
    //success结果
    console.log(value)
 }
 //错误结果
//  ,function(error){
//     //error错误的结果
//     console.log(error)
//  }
 ).catch(function(error){
    console.log(error)
 })

 //async 和await两个，简单异步操作
 async function test(){
    return new Promise(function(resolve,reject){
        let a = 10
        if(a===11){
            //调用数据库
            setTimeout(function(){
                resolve(a)
            },2000)
        }else{
            reject("执行失败")
        }
     })
 }
 try{
    let result =await test()
 }catch(e){
    
 }
